import java.util.ArrayList;
import java.util.List;

public class Testdemo1 {
//    杨辉三角
//    [i][j] = [i-1][j-1] + [i-1][j];
    public List<List<Integer>> generate(int numRows){
//      定义一个二位数组
        List<List<Integer>> ret = new ArrayList<>();

        List<Integer> list = new ArrayList<>();
        list.add(1);

        ret.add(list);

        for (int i = 1; i < numRows; i++) {
//      每循环一次 就是一行
            List<Integer> curRow = new ArrayList<>();
            curRow.add(1); //每一行的第一个元素

//      处理中间的数字
            List<Integer> preRow = ret.get(i-1);
            for (int j = 1; j < i; j++) {
               int x = preRow.get(j) + preRow.get(j-1);
               curRow.add(x);
            }

//      处理最后一个数字
            curRow.add(1);

            ret.add(curRow);
        }
        return ret;
    }
}
